package pe.gob.servir.apps.censodirectivo.ejb.dao;

import java.util.Date;
import java.util.List;

import javax.ejb.Local;

import pe.gob.servir.apps.censodirectivo.excepcion.DAOExcepcion;
import pe.gob.servir.apps.censodirectivo.model.bean.Entidad;
import pe.gob.servir.apps.censodirectivo.model.bean.MensajeRespuesta;

@Local
public interface EntidadesDAOLocal {
	List<Entidad> filtrarListaEntidad(String rucEntidad, String nombreEntidad,
			String nivelGobiernoId, String tipologiaEntidadId,
			String tipoEntidadId, String sectorEntidadId,
			String clasificacionEntidadId) throws DAOExcepcion;

	MensajeRespuesta registrarEntidad(final Entidad entidad) throws DAOExcepcion;

	MensajeRespuesta actualizarEntidad(long idEntidad, String numeroRUC,
			String nombreEntidad, String nombreComercialEntidad,
			long idEntidadPadre, String ubigeo, String habilitaEntidad,
			String direcccionLegal, String descActiviEcono, String telefono1,
			String telefono2, Date fechaAlta, Date fechaBaja, String email1,
			String email2, Date fechaConstitucionEntidad,
			Date fechaInicioActividad, String numeroDocumentoRepreLegalEntidad,
			String flagValidadoSunat, String estadoEntidad,
			long nivelGobiernoId, long sectorEntidadId, String codigoSector,
			long clasificacionEntidadId, long tipologiaEntidadId,
			long tipoEntidadId, String abreviatura, String observacion,
			long pia, String paginaWeb, String referencia, String cue,
			String usuarioCreador, String estadoRegistro) throws DAOExcepcion;

	Entidad obtenerPorIdEntidad(long id) throws DAOExcepcion;
}
